home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_bind9.idb / etc / init.d / fw_bind9.z / fw_bind9
Text File  |  2002-07-08  |  2KB  |  86 lines

  1. #!/sbin/sh
  2. #Tag 0x00000f00
  3.  
  4. # Start, stop, or restart the SGI Freeware BIND9 server.
  5. # See /usr/freeware/bind9/etc for configuration, etc.
  6.  
  7. # Built for SGI Freeware by Chan Wilson <cwilson@sgi.com>
  8. # http://www.confusedhacker.com
  9. # $Id:$
  10.  
  11.  
  12. IS_ON=/sbin/chkconfig
  13.  
  14. PROG=fw_bind9
  15. CODE=/usr/freeware/bind9/sbin/named
  16. WHAT='SGI Freeware Bind-9.2.1'
  17. PID=/usr/freeware/bind9/var/run/named.pid
  18. OPT=/etc/config/fw_bind9.options
  19.  
  20. #------------------------------------------------------------
  21. if $IS_ON verbose; then
  22.     ECHO=echo
  23. else        # For a quiet startup and shutdown
  24.     ECHO=:
  25. fi
  26.  
  27. function find_pid {
  28. if [ -f $OPT ]; then
  29.   # check for chroot'd operation and find the pidfile.
  30.     # (life would be so much easier if this was /bin/perl..
  31.       DIR=`cat $OPT | sed -e 's@.*-t \([^ ]*\).*@\1@'`
  32.       FILE=`cat $OPT | sed -e 's@.*-c \([^ ]*\).*@\1@'`
  33.       if [ -n $DIR -a -n $FILE -a -f $DIR/$FILE ]; then
  34.     if grep -q pid-file $DIR/$FILE; then
  35.       PID=`grep pid-file $DIR/$FILE | sed -e 's@.*pid-file "\(.*\)";.*@\1@'`
  36.       PID="$DIR/$PID"
  37.     fi
  38.       fi        
  39.     fi
  40. }
  41.  
  42.  
  43. case "$1" in
  44.   start)
  45.     if $IS_ON $PROG && test -x $CODE; then
  46.         $ECHO -n "Starting $WHAT"
  47.         if [ -f $OPT ]; then
  48.            $CODE `cat $OPT`
  49.             else
  50.            $CODE
  51.         fi
  52.         $ECHO '.'
  53.         fi
  54.     ;;
  55.  
  56.    stop)
  57.     find_pid;
  58.     if [ -s $PID ]; then
  59.       $ECHO -n "Stopping $WHAT"
  60.       kill `cat $PID`
  61.       $ECHO '.'
  62.     else
  63.       $ECHO "ATTENTION: No named process appears running, per $PID."
  64.       $ECHO "ATTENTION: Not shutting down $PROG" 
  65.     fi
  66.       ;;
  67.  
  68.    restart)
  69.     find_pid;
  70.     if [ -s $PID ]; then
  71.       $ECHO -n "Restarting $WHAT"
  72.       kill -HUP `cat $PID`
  73.       $ECHO '.'
  74.     else
  75.      $ECHO "ATTENTION: No named process appears running, per $PID."
  76.      $ECHO "ATTENTION: Not attempting to restart $PROG" 
  77.        fi
  78.       
  79.     ;;
  80.  
  81.       *)
  82.     echo "usage: $0 {start|stop}"
  83.     ;;
  84. esac
  85.  
  86.